package ext;

import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
import java.awt.*;

/**
 * DefaultTableCellRenderer是Swing库中的一个类，用于自定义JTable中单元格的渲染方式。
 * 它是javax.swing.table.DefaultTableCellRenderer类的子类，用于在JTable中显示文本、图标或其他组件。
 * DefaultTableCellRenderer提供了以下常用方法：
 *     setText(String text)：设置单元格的文本内容。
 *     setIcon(Icon icon)：设置单元格的图标。
 *     setHorizontalAlignment(int alignment)：设置单元格内容的水平对齐方式。
 *     setVerticalAlignment(int alignment)：设置单元格内容的垂直对齐方式。
 *     setForeground(Color color)：设置单元格的前景色，即文本或图标的颜色。
 *     setBackground(Color color)：设置单元格的背景色。
 *     setBorder(Border border)：设置单元格的边框。
 *
 * 通过继承DefaultTableCellRenderer类，您可以自定义单元格的渲染方式，例如更改文本颜色、
 * 图标、对齐方式等。在JTable中使用自定义渲染器后，您可以为特定列或特定单元格应用自定义渲染效果
 */
public class MainViewCellRender extends DefaultTableCellRenderer {
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        if(row%2==0){
            setBackground(Color.LIGHT_GRAY);
        }else {
            setBackground(Color.WHITE);
        }
        setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
        return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    }
}
